home *** CD-ROM | disk | FTP | other *** search
/ The 640 MEG Shareware Studio 2 / The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO / basic / vxbase.zip / README.TXT < prev    next >
Text File  |  1992-06-02  |  9KB  |  228 lines

  1. vxBase 1.07  June 2, 1992
  2. -------------------------
  3.  
  4. IMPORTANT NOTE TO EXISTING VXBASE USERS:
  5. ----------------------------------------
  6.    See the VXLOAD.EXE discussion below.
  7.  
  8. vxBase Installation
  9. -------------------
  10.     vxBase is distributed on a single diskette or on bulletin boards
  11. as two compressed .ZIP files. The first ZIP file is vxbdoc.zip, which
  12. contains the documentation in a Windows Write file. This file is
  13. essential to understanding and using vxBase. If it is missing, contact
  14. the author at the address below.  The documentation is separated from
  15. the rest of vxBase to allow potential users to preview it before
  16. installing and actually using vxBase. This is especially helpful to
  17. potential users who extract vxBase from a bulletin board. They can
  18. evaluate the system from a documentation standpoint before committing to
  19. downloading the larger system.
  20.  
  21.     Unzip vxbdoc.zip and view or print it. The manual is more than
  22. 180 pages long. It was formatted for an Epson 24-pin printer using
  23. standard Courier fonts. Printed manuals may be obtained for $15.00.
  24. See the end of the documentation for ordering information.
  25.  
  26.     The second ZIP file (vxbase.zip) contains the sample source code
  27. and Visual Basic project files, vxbase.txt which includes all of the Visual
  28. Basic declarations for the routines in the vxBase DLL, the vxBase DLL
  29. itself, and VXLOAD.EXE - a Visual Basic Design Mode Utility.
  30.  
  31.     If you are going to upload vxBase to a bulletin board, it must be
  32. sent as it was received - in two ZIP files.
  33.  
  34.     When the system ZIP file is decompressed, it contains this readme.doc
  35. file and 2 more ZIP files. These ZIP files are:
  36.  
  37.     vxbdll.zip    the vxBase DLL and vxload.exe
  38.     vxbtest.zip    sample source code and vxbase.txt
  39.  
  40.     To install vxBase, first make a subdirectory under your \vb
  41. directory named \vb\vxbtest and copy the vxbtest.zip file there. Unzip it
  42. and delete the vxbtest.zip file from your hard disk. To run the sample
  43. application it is essential that these files be in directory \vb\vxbtest
  44. because this path is hard-coded into the sample code. If you MUST put it
  45. somewhere else, you'll have to modify the file names in the source code to
  46. reflect your location.
  47.  
  48.     Unzip vxbdll.zip and place the resulting files (VXBASE.DLL and VXLOAD.EXE)
  49. in your \windows directory.
  50.  
  51.     To run the sample program, see the Sample Application section in the
  52. manual. Remember to run vxload.exe before starting Visual Basic. 
  53.  
  54.  
  55. Better Memory Management in Design Mode with VXLOAD.EXE
  56. -------------------------------------------------------
  57. NOTE: vxload.exe included with vxbase is a utility that simply
  58.       loads vxbase.dll and runs in an iconized state. It is
  59.       highly recommended that you run this program immediately 
  60.       PRIOR to calling up Visual Basic in Design Mode. vxload
  61.       controls the vxbase memory. Any crashes when testing a vxbase
  62.       program in design mode will not affect the vxbase memory pool
  63.       at all if vxload is running. Copy vxload.exe to your \windows
  64.       directory and set it up as a group item next to your VB icon. 
  65.  
  66.       It is also suggested that you add the following two lines of
  67.       code to your initialization procedure (somewhere after the call
  68.       to vxInit()):
  69.  
  70.       Call vxSetLocks(FALSE)
  71.       j% = vxCloseAll()
  72.  
  73.       vxSetLocks is described in detail below.
  74.  
  75.       Adding these two lines to the init procedure will close any
  76.       files that were left open as a result of a Design Mode VB
  77.       error. vxSetLocks will ensure that any open files left over
  78.       from a crashed VB run will not have any leftover locks on
  79.       your second and subsequent runs of the program while in Design
  80.       Mode - and vxCloseAll will close any leftover files so you can
  81.       start off with a clean slate.
  82.  
  83.       If you wish to use the default locking scheme in your finished
  84.       .EXE, remove the vxSetLocks(FALSE) that you set up for design mode
  85.       testing before compiling (and the vxCloseAll as well although
  86.       that is not critical).
  87.  
  88.       If your vxBase program terminates abnormally (or you use the VB End
  89.       menu item to terminate), and then you exit Visual Basic, an 
  90.       attempt to close VXLOAD.EXE from the system menu that appears
  91.       when you click on its icon will result in a "Task Sequence Closure
  92.       Error". This is because your vxBase Visual Basic program never
  93.       called vxDeallocate, which removes Visual Basic from the vxBase 
  94.       task list being maintained by VXLOAD. If this happens to you,
  95.       simply double click the VXLOAD icon to bring the VXLOAD window
  96.       into view and select the EXIT menu item. Closing VXLOAD in this
  97.       fashion ignores the task list.
  98.       
  99.  
  100. vxBase 1.07  June 2, 1992
  101. -------------------------
  102.  
  103. Corrections to release 1.06
  104. ---------------------------
  105.   (1) handle to user defined browse menu memory cleared after
  106.       browse closed. Browse called without a user menu after
  107.       displaying a browse that had a user menu would cause a
  108.       General Protection Fault because second browse would
  109.       attempt to release memory that had belonged to the first
  110.       browse.
  111.  
  112.   (2) vxReplMemo with empty string now clears the memo block 
  113.       reference in the dbf file.
  114.  
  115.   (3) vxFilterReset corrected to clear pcode memory handle after
  116.       filter memory deallocation. 
  117.  
  118. Functions Added to release 1.06
  119. -------------------------------
  120.    The following vxEvalxxx functions have been added to return the
  121. results of xBase expressions. To use, the declarations must be added
  122. to your global module.
  123.  
  124. vxEvalDouble
  125. ------------
  126. Declare Function vxEvalDouble Lib "vxbase.dll" (ByVal xBaseExpr as String, DblAmount As Double) As Integer
  127.  
  128. Purpose:
  129.    Evaluate an xBase expression that returns a numeric value and store
  130.    the result of the evaluation in a predefined Visual Basic double variable.
  131.  
  132. Parameters:
  133.    xBaseExpr is a valid xBase expression that will return a numeric result.
  134.    DblAmount is a predefined double value that will receive the result of
  135.    the xBase expression.
  136.  
  137. Returns:
  138.    TRUE if the expression is a valid NUMERIC xBase expression. FALSE is returned
  139.    if the expression cannot be parsed or if the expression type is not numeric.
  140.  
  141. Example:
  142.    ' use vxEvalDouble to calc capacity in
  143.    ' lbs by subtracting empty weight from gross
  144.    ' in an xBase expression instead of Vis Bas
  145.    ' ------------------------------------------
  146.    NumVal = 0
  147.    If vxEvalDouble("c_gwt - c_ewt", NumVal) Then
  148.       AirEmpty.text = Format$(NumVal, "####0")
  149.    Else
  150.       MsgBox "Numeric expression eval error"
  151.    End If
  152.  
  153.  
  154. vxEvalLogical
  155. -------------
  156. Declare Function vxEvalLogical Lib "vxbase.dll" (ByVal xBaseExpr as String, ByVal TrueFalse As String) As Integer
  157.  
  158. Purpose:
  159.    Evaluate an xBase expression that returns a logical value and store
  160.    the result of the evaluation in a predefined Visual Basic string. The result
  161.    will be either ".T." for TRUE or ".F." for FALSE.
  162.  
  163. Parameters:
  164.    xBaseExpr is a valid xBase expression that will return a logical result.
  165.    TrueFalse is a predefined string that is 4 characters long that will receive
  166.    the result of the xBase expression (either ".T." or ".F".).
  167.  
  168. Returns:
  169.    TRUE if the expression is a valid LOGICAL xBase expression. FALSE is returned
  170.    if the expression cannot be parsed or if the expression type is not logical.
  171.    
  172.    Notice that the integer return value is NOT the same as the result of the
  173.    expression evaluation. If the expression is logical and evaluates as ".F.",
  174.    the function will return TRUE but the value in the predefined Visual Basic
  175.    string variable will be ".F.". 
  176.  
  177. Example:
  178.  
  179.    ' example of xBase logical expression evaluation
  180.    ' ----------------------------------------------
  181.    Eval$ = String$(4, 0)
  182.    If vxEvalLogical("left(category,1)='C'", Eval$) Then
  183.       EvalBox.Text = Eval$
  184.    Else
  185.       MsgBox "Error in logical expression evaluation"
  186.    End If
  187.  
  188.      
  189. vxEvalString
  190. ------------
  191. Declare Function vxEvalString Lib "vxbase.dll" (ByVal xBaseExpr as String, ByVal StringVal As String) As Integer
  192.  
  193. Purpose:
  194.    Evaluate an xBase expression that returns a string value and store
  195.    the result of the evaluation in a predefined Visual Basic string.
  196.  
  197. Parameters:
  198.    xBaseExpr is a valid xBase expression that will return a character result.
  199.    StringVal is a predefined string that will receive the result of the xBase
  200.    expression. It MUST be long enough to hold the xBase result.
  201.  
  202. Returns:
  203.    TRUE if the expression is a valid CHARACTER xBase expression. FALSE is returned
  204.    if the expression cannot be parsed or if the expression type is not character.
  205.  
  206. Example:
  207.  
  208.    ' example of xBase string expression evaluation
  209.    ' ---------------------------------------------
  210.    EvStr$ = String$(64, 0)
  211.    If vxEvalString("trim(catname) + ' is category ' + category", EvStr$) Then
  212.       JoinBox.Text = EvStr$
  213.    Else
  214.       MsgBox "Error in string expression evaluation"
  215.    End If
  216.  
  217. Terry Orletsky
  218. vxBase (512523 ALberta Ltd)
  219. #200, 10310 - 176 Street
  220. Edmonton, Alberta, Canada
  221. T5S 1L3
  222. Phone (403) 489-5994
  223. Fax (403) 486-4335
  224. Compuserve I.D. 70524,3723
  225.  
  226.  
  227. 
  228.